package com.panda.web.service.product;


import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panda.web.domain.vo.product.ProOpenidVO;
import com.panda.web.domain.vo.product.ProductOpenidVO;
import com.panda.web.entity.product.OpenidProduct;
import com.panda.web.entity.product.Product;
import com.panda.web.utils.pageutils.PageResult;
import com.panda.web.domain.dto.ProductDTO;
import com.panda.web.domain.vo.product.ProductVO;


/**
 * 产品
Service接口
 * 
 * @author cpanda
 * @date 2025-03-03
 */
public interface IProductService extends IService<Product> {
    //分页查询
    PageResult<ProductVO> PageList(ProductDTO dto, Integer pageNum, Integer pageSize);
    //无分页查询
    List<ProductVO> choiceList(ProductDTO dto);
    //回显数据
    ProductVO selectById(Long productId);

    //新增
    int insert(ProductDTO dto);
    //修改数据
    int updateProductById(ProductDTO dto);
    //删除数据（逻辑删除）
    int removeByProductIds(List<Long> ids);

    ProductOpenidVO getOpenidByProduct(String openid);

    ProductOpenidVO getOpenidAiByProduct(String openid);

    int trialStatus(String openid);

    int sdProduct(OpenidProduct openidProduct);

    List<OpenidProduct> getUserProduct(OpenidProduct openidProduct);

    int gbUserProduct(OpenidProduct openidProduct);

    List<ProductVO> ListAll(ProductDTO dto);

    Long getDayOpenidProduct(String openid);

//    PageResult<ProOpenidVO> proOpenidList(ProductDTO dto, Integer pageNum, Integer pageSize);
}
